1. Field of the Invention
The present invention relates to an apparatus for controlling a permanent-magnet rotary machine be, and more particularly to an apparatus for controlling an electric motor or generator having a permanent-magnet rotor.
2. Description of the Related Art
Permanent-magnet rotary machines, e.g., 3-phase DC brushless motors, having a permanent magnet and an armature respectively in a rotor and a stator are required to control the phase of a voltage applied to the armature (more specifically a voltage applied to the winding of each phase of the armature, hereinafter referred to as “armature-applied voltage”) depending on the positions of the magnetic poles of the rotor (more specifically the angular positions of the magnetic poles) in order to control the generated torque and the rotational speed thereof. The permanent-magnet rotary machines have a magnetic pole position detector for detecting the positions of the magnetic poles of the rotor, and control the phase of the armature-applied voltage depending the detected positions of the magnetic poles. The magnetic pole position detector comprises a Hall-effect device, an encoder, or the like.
Control processes used for the control of the rotary machines of the type described above will be described below. One known control process for controlling permanent-magnet rotary machines is a so-called d-q vector control process. The d-q vector control process is a control process for controlling a rotary machine by an equivalent circuit on a dq coordinate system which has a d-axis representing the direction of the magnetic field of the rotor and a q-axis representing the direction perpendicular to the d-axis. More specifically, according to the d-q vector control process, the rotary machine is converted into a two-phase equivalent circuit comprising a d-axis armature present on the d-axis and a q-axis armature present on the q-axis. In order to cause a d-axis current flowing through the d-axis armature and a q-axis current flowing through the q-axis armature to comply with respective command values, the d-q vector control process generates a d-axis voltage command value for a voltage to be applied to the d-axis armature and a q-axis voltage command value for a voltage to be applied to the q-axis armature according to a feedback control law. Currents flowing through the respective phases of the actual armature of the rotary machine (hereinafter referred to as “armature currents”) are detected by current detectors. The detected currents are then converted in coordinates based on the positions of the magnetic poles of the rotor (which represent the angular position of the d-axis), thus grasping (detecting) the d-axis current and the q-axis current that correspond to the actual armature currents. Based on the detected values of the d-axis current and the q-axis current and the command values for the d-axis current and the q-axis current, the d-axis voltage command value and the q-axis voltage command value in the dq coordinate system are determined according to a feedback control law (e.g., a PI control law) in order to bring the detected values of the d-axis current and the q-axis current into conformity with the command values for the d-axis current and the q-axis current. The d-axis voltage command value and the q-axis voltage command value are then converted into armature voltage command values as command values for the voltages to be applied to the respective phases of the actual armature based on the positions of the magnetic poles of the rotor. The voltages to be applied to the respective phases of the armature, i.e., the magnitudes and phases of the voltages to be applied, are controlled depending on the armature voltage command values by a PWM inverter circuit or the like.
There are also known other control processes than the dq vector control process for controlling the permanent-magnet rotary machines. Any of those control processes are required to grasp the positions of the magnetic poles of the rotor.
While a permanent-magnet rotary machine with a magnetic pole position detector is being controlled, the positions of the magnetic poles that are detected by the magnetic pole position detector often suffer an error with respect to the actual positions of the magnetic poles due to an error caused in the positioning of the magnetic pole position detector when it is assembled and a limitation on the accuracy with which the magnetic pole position detector is manufactured. If the detected positions of the magnetic poles undergo such an error, then the rotary machine has its power factor and efficiency lowered by controlling the phases of the armature voltages with the detected positions of the magnetic poles.
Japanese laid-open patent publication No. 2001-8486, for example, discloses a known technique of correcting the detected positions of magnetic poles. The disclosed technique is based on the fact that, with a rotary machine having a rotor whose magnet is of a cylindrical shape (cylindrical machine), a torque T generated by the rotary machine is proportional to a q-axis current Iq, and if armature voltages are controlled to minimize armature currents (phase currents) when a load torque is constant, then the ratio of a d-axis current command value and the armature currents or the ratio of the d-axis current command value and a q-axis current command value has a certain correlation to an error angle between the positions of the magnetic poles which are detected by a magnetic pole position detector and the actual positions of the magnetic poles. According to the disclosed technique, the error angle is calculated based on the value of the above ratio, and the detected positions of the magnetic poles are corrected by the calculated error angle to control the rotary machine.
According to the disclosed technique, the detected positions of the magnetic poles can be corrected without the need for voltage detectors for detecting armature voltages of the rotary machine.
However, the disclosed technique cannot be applied to a salient-pole machine having a rotor whose magnetic poles are salient poles because the torque T generated by the rotary machine is proportional to the q-axis current Iq. Specifically, as described in the above publication, the torque T generated by a permanent-magnet rotary machine is expressed by the following equation (A):T=Φ·Iq+(Ld−Lq)·Id·Iq  (A)    where Φ: magnetic flux, Ld, Lq: d- and q-axis inductance, Id, Iq: d- and q-axis current.
With a cylindrical machine having a cylindrical magnet, since Ld=Lq, the torque T is proportional to the q-axis current Iq. With a salient-pole machine having a salient-pole magnet, since Ld≠Lq, the torque T is not proportional to the q-axis current Iq. Consequently, the above-mentioned basis of the technique disclosed in the above publication is not valid for salient-pole machines, and the disclosed technique is unable to correct the detected positions of the magnetic poles properly for salient-pole machines.
The technique disclosed in the above publication is based on the condition that the load torque of the rotary machine is constant in order to determine the error angle as a corrective quantity for correcting the detected positions of the magnetic poles. If the rotary machine is mounted on a vehicle as a prime mover for generating propulsive forces for the vehicle, e.g., as a rotary machine for generating an assistive output for a parallel hybrid vehicle or a rotary machine for generating propulsive forces for a series hybrid vehicle, then since the load torque of the rotary machine varies depending on the running conditions of the vehicle, it is difficult to keep constant the load torque of the rotary machine. Therefore, even if the rotary machine that is mounted on a vehicle is a cylindrical machine whose magnet is of a cylindrical shape, it is difficult to correct the detected positions of the magnetic poles properly.